package shortestPath;

import java.util.Random;

public class ShortestPathTest {
	public static void main(String[] args) {
		int[][] matrix = generateRandMap(10000, 1500);
		boolean showAnswer = false;
		
		/*System.out.println("Bellman Ford (Tache): " + BellmanFord.ShortestPathTo(matrix, showAnswer) + "ms");
		System.out.println("Bellman Ford (Limon): " + BellmanFordLimon.ShortestPathTo(matrix, showAnswer) + "ms");
		System.out.println("Dijkstra's (Tache): " + Dijkstra.ShortestPathTo(matrix, showAnswer) + "ms");
		System.out.println("Dijkstra's (Limon): " + DijkstraLimon.ShortestPathTo(matrix, showAnswer) + "ms");
		System.out.println("Dijkstra's with queue (Limon): " + DijkstraLimonQueue.ShortestPathTo(matrix, showAnswer) + "ms");*/
		System.out.println("Dijkstra's with heap (Limon): " + DijkstraLimonBinaryHeap.ShortestPathTo(matrix, showAnswer) + "ms");
		System.out.println("Dijkstra's with heap Int (Limon): " + DijkstraLimonBinaryHeapInt.ShortestPathTo(matrix, showAnswer) + "ms");
	}
	
	
	public static int[][] generateRandMap(int range, int size){
		int[][] array = new int[size][size];
		
		Random rnd = new Random();
		for(int i=0; i<size; i++) 
			for(int j=0; j<size; j++) array[i][j] = rnd.nextInt(range);
		
		return array;
	}
}
